package com.liang.manage.auth.facade.server;

import com.liang.manage.auth.facade.dto.project.ProjectDTO;
import com.liang.nansheng.common.auth.UserSsoDTO;

import java.util.List;

/**
 * @author 王华安
 * @date 2021-04-21 20:27
 */
public interface ProjectService {
    /**
     * 新增系统
     *
     * @param projectDTO
     * @param currentUser
     * @return
     */
    Boolean create(ProjectDTO projectDTO, UserSsoDTO currentUser);

    /**
     * 获取系统
     *
     * @param projectDTO
     * @return
     */
    List<ProjectDTO> getList(ProjectDTO projectDTO);

    /**
     * 删除系统
     *
     * @param id
     * @param currentUser
     * @return
     */
    Boolean delete(Integer id, UserSsoDTO currentUser);

    /**
     * 更新系统
     *
     * @param projectDTO
     * @param currentUser
     * @return
     */
    Boolean update(ProjectDTO projectDTO, UserSsoDTO currentUser);

    /**
     * 通过系统id获取系统
     *
     * @param projectId
     * @return
     */
    ProjectDTO getById(Integer projectId);

    /**
     * 从Redis按项目ID获取项目名称
     *
     * @param projectId
     * @return
     */
    String getNameByIdFromRedis(Integer projectId);
}
